package com.itheima.edu.info.manager.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class AgeUtil {
    /*
    关于工具类设计规范:
        1. 构造方法私有化
        2. 成员(变量)静态化
    自定义年龄工具类
        核心功能: 根据出生日期计算对应的年龄并返回年龄
     */
    private AgeUtil() {
    }


    //根据出生日期计算年龄并返回
    public static String getAge(String birthdayStr)  {

        try {
            //将生日字符串解析成对应的日期对象
            //SimpleDateFormat sdf = new SimpleDateFormat("yyy-MM-dd");

            Date birthdayDate = new SimpleDateFormat("yyyy-MM-dd").parse(birthdayStr);

            //获取当前系统日期
            Date nowDate = new Date();

            //计算两者相差多少年
            long age = (nowDate.getTime() - birthdayDate.getTime()) / 1000L / 60 / 60 / 24 / 365;

            //返回计算出来的年龄
            return age + "";
        } catch (Exception e) {
            //如果出了问题,就返回固定年龄18岁
            return "18";
        }
    }
}
